package com.mingqijia.gassafety.webserver.request;

import com.mingqijia.gassafety.webserver.response.FieldListShowResponse;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.List;

/**
 * @author mby
 * @version 1.0.0
 * @ClassName RunningReportTemplateRequest.java
 * @Description
 * @createTime 2024年03月11日
 */
@Data
@ApiModel("设备运行报告文档模版配置数据")
public class RunningReportTemplateRequest {

    @ApiModelProperty(value = "页眉恢复默认且恢复默认后无修改")
    private Boolean headerRestoreDefault;

    @ApiModelProperty(value = "页眉内容展示 0-展示 1-不展示", required = true)
    @NotNull(message = "页眉内容展示不能为空")
    private Integer headerShow;

    @ApiModelProperty(value = "页眉logo", required = true)
    @NotNull(message = "页眉logo不能为空")
    private String headerLogo;

    @ApiModelProperty(value = "页眉文案内容")
    private String headerContent;

    @ApiModelProperty(value = "无报警配置恢复默认且恢复默认后无修改")
    private Boolean noAlarmRestoreDefault;

    @ApiModelProperty(value = "无报警报告说明内容", required = true)
    @NotBlank(message = "无报警报告说明内容不能为空")
    @Length( max = 1000,message = "请输入1000个以内的汉字、字母、数字、字符")
    private String noAlarmContent;

    @ApiModelProperty(value = "无报警温馨提示展示 0-展示 1-不展示", required = true)
    @NotNull(message = "无报警温馨提示展示不能为空")
    private Integer noAlarmTipsShow;

    @ApiModelProperty(value = "报警总结配置恢复默认且恢复默认后无修改")
    private Boolean alarmSummaryRestoreDefault;

    @ApiModelProperty(value = "是否报警总结 0-是 1-否")
    private Integer isAlarmSummary;

    @ApiModelProperty(value = "报警总结内容")
    @Length( max = 500,message = "请输入500个以内的汉字、字母、数字、字符")
    private String alarmSummaryContent;

    @ApiModelProperty(value = "报警总结记录标题")
    @Length( max = 30,message = "请输入30个以内的汉字、字母、数字、字符")
    private String alarmSummaryTitle;

    @ApiModelProperty(value = "报警总结记录列表展示")
    private List<FieldListShowResponse> alarmSummaryList;

    @ApiModelProperty(value = "报警总结类别分析展示 0-展示 1-不展示")
    private Integer categoryAnalysisShow;

    @ApiModelProperty(value = "报警总结情况分析展示 0-展示 1-不展示")
    private Integer situationAnalysisShow;

    @ApiModelProperty(value = "报警明细配置恢复默认且恢复默认后无修改")
    private Boolean alarmDetailRestoreDefault;

    @ApiModelProperty(value = "是否报警明细 0-是 1-否")
    private Integer isAlarmDetail;

    @ApiModelProperty(value = "报警明细记录标题")
    @Length( max = 30,message = "请输入30个以内的汉字、字母、数字、字符")
    private String alarmDetailTitle;

    @ApiModelProperty(value = "报警明细户名展示 0-展示 1-不展示")
    private Integer alarmDetailNameShow;

    @ApiModelProperty(value = "报警明细户号展示 0-展示 1-不展示")
    private Integer alarmDetailCodeShow;

    @ApiModelProperty(value = "报警明细户址展示 0-展示 1-不展示")
    private Integer alarmDetailAddressShow;

    @ApiModelProperty(value = "报警明细记录列表展示")
    private List<FieldListShowResponse> alarmDetailList;

    @ApiModelProperty(value = "温馨提示配置恢复默认且恢复默认后无修改")
    private Boolean tipsRestoreDefault;

    @ApiModelProperty(value = "是否温馨提示 0-是 1-否")
    private Integer isTips;

    @ApiModelProperty(value = "温馨提示内容")
    @Length( max = 1000,message = "请输入1000个以内的汉字、字母、数字、字符")
    private String tipsContent;

    @ApiModelProperty(value = "温馨提示 0-展示 1-不展示")
    private Integer tipsShow;

}
